1. Field of the Invention
The invention relates to network processors residing in a network device that are used to process network communications. More specifically, this invention relates to improving the performance of network processors that process network communications that may involve voice, data, images, video and other information.
2. Description of Related Art
It is highly desirable for network switches and network processors included in the network switch to support full duplex traffic, that is network traffic that runs in both ingress and egress directions simultaneously. However, supporting duplex network traffic places a large burden on network processors. This is problematic because all traffic in both directions typically, passes through all the processing functions of the network processor. In most cases, one direction of traffic has considerably less processing requirements than the other, such that requiring all traffic to flow through all the network processor's resources may be quite wasteful. Bottlenecks may occur when there are insufficient resources to service the overall traffic demands caused by the duplex communications.
Traditional implementations of network processors require a processor core to process all incoming (ingress) and outgoing (egress) data units. This causes backups or blockages in the processor core of the network processor which may be referred to as backpressure. Further, in traditional implementations network processors drop frames, pass unmodified frames, and partially process frames sent through network processor at least in some part because the processor core processes each and every frame that is provided to the network processor. Backpressure is undesirable in networking applications because it will result in delayed communications and a resulting reduction in the quality of service provided. Dropping frames causes service interruptions, and places a larger load on the network as the dropped frame has to be detected, re-requested, and re-transmitted. Passing an unmodified frame through the network processor requires network processor resources and, as such, will increase the probability of blockage and backpressure. In addition, partially modified frames have little to no utility in the network.